#pragma once

#include <string>
#include <vector>
#include "TransformationParser.h"
#include "PrimitiveParser.h"
#include "MaterialParser.h"
#include "TextureParser.h"

using std::string;
using std::vector;

class ComponentParser
{
public:
	string transformation_id;
	vector<TransformationParser> transformations;
	
	float transformation[16];

	char material_key;
	vector<string> materials_id;
	vector<MaterialParser* > materials;
	unsigned int material_index;

	string texture_id;
	TextureParser* texture;

	vector<string> componentChildren_id;
	vector<string> primitiveChildren_id;

	vector<ComponentParser* > componentChildren;
	vector<PrimitiveParser* > primitiveChildren;

	ComponentParser(void);
	~ComponentParser(void);

	void changeMaterial();
};

